19. psycopg2: string composition
psycopg2 demo 2 Heading
psycopg2 demo 2
ND004 C01 L02 25 Psycopg2 Demo 2
Takeaways
We can use
string interpolation
to compose a SQL query using python strings.
Two methods for doing so include:
-
Using
%s
, passing in a tuple as the 2nd argument incursor.execute()
-
Using named string parameters
%(foo)s
, passing in a dictionary instead.
Additional Resources
Code
import psycopg2
connection = psycopg2.connect('dbname=example')
cursor = connection.cursor()
cursor.execute('DROP TABLE IF EXISTS table2;')
cursor.execute('''
CREATE TABLE table2 (
id INTEGER PRIMARY KEY,
completed BOOLEAN NOT NULL DEFAULT False
);
''')
cursor.execute('INSERT INTO table2 (id, completed) VALUES (%s, %s);', (1, True))
SQL = 'INSERT INTO table2 (id, completed) VALUES (%(id)s, %(completed)s);'
data = {
'id': 2,
'completed': False
}
cursor.execute(SQL, data)
connection.commit()
connection.close()
cursor.close()
Let's practice! Now complete Exercise 2.
Workspace
This section contains either a workspace (it can be a Jupyter Notebook workspace or an online code editor work space, etc.) and it cannot be automatically downloaded to be generated here. Please access the classroom with your account and manually download the workspace to your local machine. Note that for some courses, Udacity upload the workspace files onto https://github.com/udacity , so you may be able to download them there.
Workspace Information:
- Default file path:
- Workspace type: jupyter-lab
- Opened files (when workspace is loaded): n/a